package me.zhengjie.modules.app.domain;

import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

@TableName("game_records")
public class GameRecords {
    /**
     * id
     */
    private String id;

    /**
     * 玩家1
     */
    private Long player1Id;

    /**
     * 玩家2
     */
    private Long player2Id;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 赢家
     */
    private Long winnerId;

    /**
     * 赢家类型：0-玩家，1-AI，3-平手，2-流局
     */
    private Byte winnerType;

    /**
     * 总共回合
     */
    private Byte totalRounds;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 配置快照
     */
    private String configSnapshot;

    /**
     * 获取id
     *
     * @return id - id
     */
    public String getId() {
        return id;
    }

    /**
     * 设置id
     *
     * @param id id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取玩家1
     *
     * @return player1_id - 玩家1
     */
    public Long getPlayer1Id() {
        return player1Id;
    }

    /**
     * 设置玩家1
     *
     * @param player1Id 玩家1
     */
    public void setPlayer1Id(Long player1Id) {
        this.player1Id = player1Id;
    }

    /**
     * 获取玩家2
     *
     * @return player2_id - 玩家2
     */
    public Long getPlayer2Id() {
        return player2Id;
    }

    /**
     * 设置玩家2
     *
     * @param player2Id 玩家2
     */
    public void setPlayer2Id(Long player2Id) {
        this.player2Id = player2Id;
    }

    /**
     * 获取开始时间
     *
     * @return start_time - 开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置开始时间
     *
     * @param startTime 开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取结束时间
     *
     * @return end_time - 结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置结束时间
     *
     * @param endTime 结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取赢家
     *
     * @return winner_id - 赢家
     */
    public Long getWinnerId() {
        return winnerId;
    }

    /**
     * 设置赢家
     *
     * @param winnerId 赢家
     */
    public void setWinnerId(Long winnerId) {
        this.winnerId = winnerId;
    }

    /**
     * 获取赢家类型：0-玩家，1-AI，3-平手，2-流局
     *
     * @return winner_type - 赢家类型：0-玩家，1-AI，3-平手，2-流局
     */
    public Byte getWinnerType() {
        return winnerType;
    }

    /**
     * 设置赢家类型：0-玩家，1-AI，3-平手，2-流局
     *
     * @param winnerType 赢家类型：0-玩家，1-AI，3-平手，2-流局
     */
    public void setWinnerType(Byte winnerType) {
        this.winnerType = winnerType;
    }

    /**
     * 获取总共回合
     *
     * @return total_rounds - 总共回合
     */
    public Byte getTotalRounds() {
        return totalRounds;
    }

    /**
     * 设置总共回合
     *
     * @param totalRounds 总共回合
     */
    public void setTotalRounds(Byte totalRounds) {
        this.totalRounds = totalRounds;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取配置快照
     *
     * @return config_snapshot - 配置快照
     */
    public String getConfigSnapshot() {
        return configSnapshot;
    }

    /**
     * 设置配置快照
     *
     * @param configSnapshot 配置快照
     */
    public void setConfigSnapshot(String configSnapshot) {
        this.configSnapshot = configSnapshot;
    }
}